package dao

// 这是 OmsCompanyAddress 的全局公开dao对象，被service层调用!
var OmsCompanyAddressDao = omsCompanyAddressDao{}

// 这是 oms_company_address表 的实体类
type OmsCompanyAddress struct {
	AddressName   string `json:"address_name" form:"address_name" v:"address_name"`       // 地址名称
	City          string `json:"city" form:"city" v:"city"`                               // 市
	DetailAddress string `json:"detail_address" form:"detail_address" v:"detail_address"` // 详细地址
	Id            int64  `json:"id" form:"id" v:"id"`
	Name          string `json:"name" form:"name" v:"name"`                               // 收货人姓名
	Phone         string `json:"phone" form:"phone" v:"phone"`                            // 收货人电话
	Province      string `json:"province" form:"province" v:"province"`                   // 省/直辖市
	ReceiveStatus int32  `json:"receive_status" form:"receive_status" v:"receive_status"` // 是否默认收货地址：0-&gt;否；1-&gt;是
	Region        string `json:"region" form:"region" v:"region"`                         // 区
	SendStatus    int32  `json:"send_status" form:"send_status" v:"send_status"`          // 默认发货地址：0-&gt;否；1-&gt;是

}

// 注意:这是 OmsCompanyAddress 的私有dao对象，只能在dao层内使用!
type omsCompanyAddressDao struct {
	InsertTemplate func(arg OmsCompanyAddress) (int64, error)                               //插入一条记录
	UpdateTemplate func(arg OmsCompanyAddress) (int64, error)                               //更新一条记录
	DeleteTemplate func(id int64) (int64, error)                                            `args:"id"`                         //根据传入的主键删除一条记录
	SelectTemplate func(id int64) (OmsCompanyAddress, error)                                `args:"id"`                         //根据传入的主键获取一条记录
	List           func(keyword string, pageNum, pageSize int) ([]OmsCompanyAddress, error) `args:"keyword,page_num,page_size"` //模糊分页查询
}

/*
// 这是 oms_company_address 表的Postman测试参数
// 该结构体中的字段就是: 前后端交互的json字段!
type OmsCompanyAddressPostman struct {
address_name
city
detail_address
id
name
phone
province
receive_status
region
send_status

}*/

// 这是 oms_company_address 表的批量请求参数
type OmsCompanyAddressReq struct {
	List []OmsCompanyAddress `json:"list" form:"list"`
}
